Skip to content

Ci improvements backport 2.9#4024

Open
hdiethelm wants to merge 13 commits into
LinuxCNC:2.9from
hdiethelm:ci_improvements_2.9
Open

Ci improvements backport 2.9#4024
hdiethelm wants to merge 13 commits into
LinuxCNC:2.9from
hdiethelm:ci_improvements_2.9

Conversation

@hdiethelm
Copy link
Copy Markdown
Contributor

If you think this is useful, I will do spot checks on created Debian packages and then it is ready to merge.

It was quite easy to cherry-pick. Let's see if the CI passes. When merging 2.9 to master, care has to be taken that no CI changes are merged.

hdiethelm added 10 commits May 14, 2026 18:15
It fails sometimes and the build time doesn't increase.
If it fails, the error is:
ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

Merge a few improvements from master.
Retry should not have an effect: Either you are rate limited and it
fails anyway or it succeeds.
No --quiet so you see what is going on.
Ubuntu image from gitlab should be reasonable up to date.
No need to remove firefox any more.
In debian containers, there is only a minimal package set, so we can
upgrade. Especially for sid, the container is not always up to date.
cppcheck is now in test section.
DEBIAN_FRONTEND: noninteractive can be defined once on top.
set -e is not needed in CI, it stops anyway on any error.
Linuxcnc repo is added for everything except sid / bookworm / trixie
which is all what we build, so it can be removed.
All actions updated to latest release.
Checkout: Submodules not needed / fetch-depth 1 is fine for all targets
not needing history.
More steps help debugging and tuning ci.
Fetch not needed, checkout fetches already.
This argument limited the amount of CPU's to 2. Without, we have all 4
CPU's reducing build time.
Less packages -> faster build. Recommends should not be needed.
Scripts are easier to test locally than if the shell code is in the
ci.yml. They are also reusable.
travis-install-build-deps.sh replaced by one script, only used in CI.
@BsAtHome
Copy link
Copy Markdown
Contributor

And,... crash and burn. Typical... ;-)

@hdiethelm
Copy link
Copy Markdown
Contributor Author

And,... crash and burn. Typical... ;-)

Some gitignores are missing, failed as it should... ;-)

@hdiethelm
Copy link
Copy Markdown
Contributor Author

Ah, cpp / shellcheck don't exist in 2.9... :-D Other job on 2.9:
https://github.com/LinuxCNC/linuxcnc/actions/runs/25679989364/job/75388517378


Run scripts/shellcheck.sh
/home/runner/work/_temp/39747ac5-1c7a-439a-a3f8-6dda3c7f7c3b.sh: line 1: scripts/shellcheck.sh: No such file or directory
Error: Process completed with exit code 127.

Anyway, how long until 2.10 is released?

@BsAtHome
Copy link
Copy Markdown
Contributor

Shellcheck and cppcheck, yes, they were added and a lot of problems got solved that way around.

2.10 is still some time in the future. Working hard on fixing the hal type problem. That should go in to eliminate the 32/64 bit differentiation. Then we're probably mostly done for release.

@hdiethelm
Copy link
Copy Markdown
Contributor Author

Do you think this back-port is useful? Doc is still failing. I would have to investigate...

@BsAtHome
Copy link
Copy Markdown
Contributor

The backport is useful. The CI on 2.9 takes 55 minutes or so, where master is down to 21..23 minutes. That would be an improvement.

@hdiethelm hdiethelm force-pushed the ci_improvements_2.9 branch from c9f9836 to 5a77718 Compare May 15, 2026 12:43
@hdiethelm
Copy link
Copy Markdown
Contributor Author

So, this one should hopefully pass. The last one had a timeout but indep is now fine.
The issue was the po4a installed from linuxcnc repo which is needed for bullseye. Is bullseye even needed?

@hdiethelm
Copy link
Copy Markdown
Contributor Author

So, passed. 52min down to 30min. It seams the dock build is less performant on 2.9.

@BsAtHome
Copy link
Copy Markdown
Contributor

I don't think you need to do the cppcheck/shellcheck part at all. The list of errors, warnings and other problems is so long... It was fixed in master and I'm not going to backport that effort. You can just remove the CI for it IMO (never worked anyway).

@BsAtHome
Copy link
Copy Markdown
Contributor

Is bullseye even needed?

It is supported for 2.9, so yes.

@hdiethelm hdiethelm force-pushed the ci_improvements_2.9 branch from 2f59147 to 395e9ad Compare May 15, 2026 14:18
@hdiethelm
Copy link
Copy Markdown
Contributor Author

I don't think you need to do the cppcheck/shellcheck part at all. The list of errors, warnings and other problems is so long... It was fixed in master and I'm not going to backport that effort. You can just remove the CI for it IMO (never worked anyway).

Ok, so I commented out the target.

@BsAtHome
Copy link
Copy Markdown
Contributor

Do you think this is ready or are you not satisfied yet?
Increasing the resilience and speed of CI would be a nice addition :-)

@hdiethelm
Copy link
Copy Markdown
Contributor Author

The only thing missing is:

Download a few Debian packages from the old and the new CI and compare the contents to detect if might be some configure stuff automatically deactivated some parts due to missing packages.

If you can do that, I will set it to ready. Or I can do that until end of the week.

@BsAtHome
Copy link
Copy Markdown
Contributor

No rush... I'm working on HAL and would need to familiarize myself with the procedure of testing.
So, if it takes a week, or two, or three, I'd be fine with that too. I was just wondering.

@hdiethelm
Copy link
Copy Markdown
Contributor Author

What tested based on possible impacts by this change:

I compared the unpacked deps for bookworm / trixie with https://github.com/LinuxCNC/linuxcnc/actions/runs/25679989364 (Base of this PR):
No alarming differences. Differences in dates in files & PDF / generated images. I checked a few of the images and they look the same.

Additionally, I installed and run the trixie deb's with axis_mm / gmoccapy, all works fine.

I am not able to test the release stage (might be I could by tag&push my branch but that would mess up your releases... ;-) ) but there are only minor changes in this stage.

@hdiethelm hdiethelm marked this pull request as ready for review May 17, 2026 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants